'''
用来判断用户是否登录
'''

from django.http import JsonResponse

def log_register(view):
    '''
    自定义装饰器来判断用户是否已经登录

    '''
    def wrapper(request,*args,**kwargs):
        # 添加登录验证
        # request.user.is_authenticated，用户模型类对象该属性为True

        if not request.user.is_authenticated:
        # 用户未登录
            return JsonResponse({
                'code':400,
                'errmsg':'您未登录！'
            })

        return view(request,*args,**kwargs)


    return wrapper

class LoginRequiredMixin(object):
    '''
    自定义拓展类，来判断用户是否已经登录
    '''
    @classmethod
    def as_view(self,*args,**kwargs):
        '''
        此处对同意入口函数进行装饰，那么当前视图函数里面的所有视图函数都会被装饰
        '''
    # 1.获取统一入口函数
        view = super().as_view(*args, **kwargs)
    # 2.对视图函数添加装饰并返回
        view = log_register(view)
        return view